Skip to content

Conversation

@jbedard
Copy link
Member

@jbedard jbedard commented Nov 19, 2025

Changes are visible to end-users: no

Test plan

  • Covered by existing test cases

@jbedard jbedard requested a review from dzbarsky November 19, 2025 00:15
@aspect-workflows
Copy link

aspect-workflows bot commented Nov 19, 2025

Bazel 7 (Test)

130 test targets passed

Targets
//examples/coverage:coverage [k8-fastbuild]                                                             130ms
//examples/js_binary:case7_test [k8-fastbuild]                                                          160ms
//examples/js_binary:npm_version_test [k8-fastbuild]                                                    489ms
//examples/js_binary:test_test [k8-fastbuild]                                                           103ms
//examples/js_lib_pkg/b:test_each_target [k8-fastbuild]                                                 154ms
//examples/js_lib_pkg/b:test_parent_target [k8-fastbuild]                                               101ms
//examples/js_library/two:two_test [k8-fastbuild]                                                       172ms
//examples/linked_consumer:direct [k8-fastbuild]                                                        233ms
//examples/linked_consumer:pkg [k8-fastbuild]                                                           172ms
//examples/npm_deps:rollup_version_test [k8-fastbuild]                                                  166ms
//examples/npm_deps:test10 [k8-fastbuild]                                                               158ms
//examples/npm_deps:test4 [k8-fastbuild]                                                                124ms
//examples/npm_deps:test6 [k8-fastbuild]                                                                108ms
//examples/npm_deps:test7 [k8-fastbuild]                                                                132ms
//examples/npm_deps:test8 [k8-fastbuild]                                                                148ms
//examples/runfiles:runfiles [k8-fastbuild]                                                             177ms
//examples/stack_traces:stack_traces [k8-fastbuild]                                                     136ms
//js/private/test/coverage:fail [k8-fastbuild]                                                          100ms
//js/private/test/create_launcher:test [k8-fastbuild]                                                   100ms
//js/private/test/data:from-filegroup-srcs [k8-fastbuild]                                               110ms
//js/private/test/data:from-genrule [k8-fastbuild]                                                      155ms
//js/private/test/data:from-genrule-data [k8-fastbuild]                                                 104ms
//js/private/test/data:from-js_library-data [k8-fastbuild]                                              208ms
//js/private/test/data:from-js_library-srcs [k8-fastbuild]                                              96ms
//js/private/test/data:from-js_run_binary-genrule [k8-fastbuild]                                        96ms
//js/private/test/data:from-js_run_binary-genrule-copied [k8-fastbuild]                                 107ms
//js/private/test/data:from-js_run_binary-js_library-data [k8-fastbuild]                                98ms
//js/private/test/data:from-js_run_binary-js_library-srcs [k8-fastbuild]                                99ms
//js/private/test/data:from-js_run_binary-srcs [k8-fastbuild]                                           115ms
//js/private/test/data:from-parent-genrule [k8-fastbuild]                                               105ms
//js/private/test/data:from-parent-js_library-data [k8-fastbuild]                                       128ms
//js/private/test/image/non_ascii:assert_custom_layer_groups_test_just_the_fs_patch_test [k8-fastbuild] 61ms
//js/private/test/image:assert_custom_layers_nomatch_test_node_test [k8-fastbuild]                      40ms
//js/private/test/image:assert_custom_owner_test_node_test [k8-fastbuild]                               40ms
//js/private/test/image:assert_default_test_node_test [k8-fastbuild]                                    39ms
//js/private/test/image:assert_regex_edge_cases_test_node_test [k8-fastbuild]                           33ms
//js/private/test/js_binary_sh:BAZEL_BINDIR_change_directory_test [k8-fastbuild]                        65ms
//js/private/test/js_binary_sh:BAZEL_BINDIR_test [k8-fastbuild]                                         36ms
//js/private/test/js_binary_sh:BAZEL_BUILD_FILE_PATH_test [k8-fastbuild]                                90ms
//js/private/test/js_binary_sh:BAZEL_TARGET_test [k8-fastbuild]                                         52ms
//js/private/test/js_binary_sh:BAZEL_WORKSPACE_test [k8-fastbuild]                                      63ms
//js/private/test/js_binary_sh:JS_BINARY__BUILD_FILE_PATH_test [k8-fastbuild]                           73ms
//js/private/test/js_binary_sh:JS_BINARY__PACKAGE_test [k8-fastbuild]                                   33ms
//js/private/test/js_binary_sh:JS_BINARY__TARGET_NAME_test [k8-fastbuild]                               37ms
//js/private/test/js_binary_sh:JS_BINARY__WORKSPACE_test [k8-fastbuild]                                 52ms
//js/private/test/js_run_devserver:js_run_devserver_test [k8-fastbuild]                                 112ms
//js/private/test/js_run_devserver:node_modules_symlink_to_execroot_test [k8-fastbuild]                 385ms
//js/private/test/no_copy_to_bin:no_copy_to_bin_test [k8-fastbuild]                                     82ms
//js/private/test/node-patches:escape_node16_test [k8-fastbuild]                                        123ms
//js/private/test/node-patches:escape_node18_test [k8-fastbuild]                                        124ms
//js/private/test/node-patches:escape_node22_test [k8-fastbuild]                                        111ms
//js/private/test/node-patches:escape_node24_test [k8-fastbuild]                                        121ms
//js/private/test/node-patches:lstat_node16_cjs_test [k8-fastbuild]                                     157ms
//js/private/test/node-patches:lstat_node16_test [k8-fastbuild]                                         189ms
//js/private/test/node-patches:lstat_node18_cjs_test [k8-fastbuild]                                     222ms
//js/private/test/node-patches:lstat_node20_cjs_test [k8-fastbuild]                                     162ms
//js/private/test/node-patches:lstat_node22_cjs_test [k8-fastbuild]                                     129ms
//js/private/test/node-patches:lstat_node24_cjs_test [k8-fastbuild]                                     133ms
//js/private/test/node-patches:lstat_node24_test [k8-fastbuild]                                         173ms
//js/private/test/node-patches:opendir_node16_cjs_test [k8-fastbuild]                                   179ms
//js/private/test/node-patches:opendir_node16_test [k8-fastbuild]                                       237ms
//js/private/test/node-patches:opendir_node18_cjs_test [k8-fastbuild]                                   174ms
//js/private/test/node-patches:opendir_node18_test [k8-fastbuild]                                       247ms
//js/private/test/node-patches:opendir_node20_test [k8-fastbuild]                                       184ms
//js/private/test/node-patches:opendir_node22_cjs_test [k8-fastbuild]                                   217ms
//js/private/test/node-patches:opendir_node22_test [k8-fastbuild]                                       169ms
//js/private/test/node-patches:opendir_node24_cjs_test [k8-fastbuild]                                   143ms
//js/private/test/node-patches:readdir_node16_cjs_test [k8-fastbuild]                                   154ms
//js/private/test/node-patches:readdir_node16_test [k8-fastbuild]                                       200ms
//js/private/test/node-patches:readdir_node18_cjs_test [k8-fastbuild]                                   154ms
//js/private/test/node-patches:readdir_node18_test [k8-fastbuild]                                       287ms
//js/private/test/node-patches:readdir_node20_test [k8-fastbuild]                                       157ms
//js/private/test/node-patches:readdir_node22_cjs_test [k8-fastbuild]                                   157ms
//js/private/test/node-patches:readdir_node22_test [k8-fastbuild]                                       166ms
//js/private/test/node-patches:readdir_node24_test [k8-fastbuild]                                       186ms
//js/private/test/node-patches:readlink_node16_cjs_test [k8-fastbuild]                                  201ms
//js/private/test/node-patches:readlink_node18_cjs_test [k8-fastbuild]                                  178ms
//js/private/test/node-patches:readlink_node18_test [k8-fastbuild]                                      167ms
//js/private/test/node-patches:readlink_node20_cjs_test [k8-fastbuild]                                  155ms
//js/private/test/node-patches:readlink_node20_test [k8-fastbuild]                                      142ms
//js/private/test/node-patches:readlink_node22_cjs_test [k8-fastbuild]                                  222ms
//js/private/test/node-patches:readlink_node22_test [k8-fastbuild]                                      311ms
//js/private/test/node-patches:readlink_node24_cjs_test [k8-fastbuild]                                  154ms
//js/private/test/node-patches:readlink_node24_test [k8-fastbuild]                                      153ms
//js/private/test/node-patches:realpath_node16_cjs_test [k8-fastbuild]                                  185ms
//js/private/test/node-patches:realpath_node18_test [k8-fastbuild]                                      203ms
//js/private/test/node-patches:realpath_node20_cjs_test [k8-fastbuild]                                  166ms
//js/private/test/node-patches:realpath_node22_cjs_test [k8-fastbuild]                                  163ms
//js/private/test/node-patches:realpath_node22_test [k8-fastbuild]                                      294ms
//js/private/test/node-patches:realpath_node24_cjs_test [k8-fastbuild]                                  147ms
//js/private/test/node-patches:realpath_node24_test [k8-fastbuild]                                      193ms
//js/private/test/node-patches:spawn_test_node16 [k8-fastbuild]                                         1s
//js/private/test/node-patches:spawn_test_node18 [k8-fastbuild]                                         1s
//js/private/test/node-patches:spawn_test_node20 [k8-fastbuild]                                         950ms
//js/private/test/node-patches:spawn_test_node22 [k8-fastbuild]                                         1s
//js/private/test:main_default_toolchain [k8-fastbuild]                                                 153ms
//js/private/test:main_toolchain_20 [k8-fastbuild]                                                      84ms
//js/private/test:run_environment_info_tests_test_inherit_only_subject [k8-fastbuild]                   110ms
//npm/private/test/npm_package_publish:test [k8-fastbuild]                                              2s
//npm/private/test:__rollup-test [k8-fastbuild]                                                         229ms
+ 30 other targets

Total test execution time was 28s. 164 tests (55.8%) were fully cached saving 12s.


Bazel 8 (Test)

123 test targets passed

Targets
//examples/js_binary:aspect_bin_a_test [k8-fastbuild]                                   64ms
//examples/js_binary:case7_test [k8-fastbuild]                                          99ms
//examples/js_binary:npm_version_test [k8-fastbuild]                                    442ms
//examples/js_binary:test_test [k8-fastbuild]                                           75ms
//examples/js_lib_pkg/b:test_each_target [k8-fastbuild]                                 101ms
//examples/js_lib_pkg/b:test_parent_target [k8-fastbuild]                               115ms
//examples/js_library/two:two_test [k8-fastbuild]                                       131ms
//examples/linked_consumer:direct [k8-fastbuild]                                        99ms
//examples/linked_consumer:pkg [k8-fastbuild]                                           105ms
//examples/macro:test [k8-fastbuild]                                                    583ms
//examples/npm_deps:test3 [k8-fastbuild]                                                225ms
//examples/npm_deps:test4 [k8-fastbuild]                                                137ms
//examples/npm_deps:test6 [k8-fastbuild]                                                332ms
//examples/npm_deps:test9 [k8-fastbuild]                                                195ms
//examples/npm_deps:test_peer [k8-fastbuild]                                            131ms
//examples/npm_deps:test_uvu_version [k8-fastbuild]                                     232ms
//examples/webpack_cli:test [k8-fastbuild]                                              1s
//js/private/node-patches:checked_in_compile_test [k8-fastbuild]                        37ms
//js/private/test/coverage:pass [k8-fastbuild]                                          155ms
//js/private/test/data:from-data [k8-fastbuild]                                         205ms
//js/private/test/data:from-filegroup-srcs [k8-fastbuild]                               140ms
//js/private/test/data:from-genrule-data [k8-fastbuild]                                 137ms
//js/private/test/data:from-js_library-data [k8-fastbuild]                              85ms
//js/private/test/data:from-js_library-srcs [k8-fastbuild]                              93ms
//js/private/test/data:from-js_run_binary-genrule [k8-fastbuild]                        261ms
//js/private/test/data:from-js_run_binary-genrule-copied [k8-fastbuild]                 84ms
//js/private/test/data:from-js_run_binary-js_library-srcs [k8-fastbuild]                85ms
//js/private/test/data:from-js_run_binary-srcs [k8-fastbuild]                           85ms
//js/private/test/data:from-parent-genrule [k8-fastbuild]                               83ms
//js/private/test/js_binary_sh:BAZEL_BINDIR_change_directory_test [k8-fastbuild]        100ms
//js/private/test/js_binary_sh:BAZEL_BINDIR_test [k8-fastbuild]                         69ms
//js/private/test/js_binary_sh:BAZEL_BUILD_FILE_PATH_test [k8-fastbuild]                63ms
//js/private/test/js_binary_sh:BAZEL_PACKAGE_test [k8-fastbuild]                        68ms
//js/private/test/js_binary_sh:BAZEL_TARGET_NAME_test [k8-fastbuild]                    73ms
//js/private/test/js_binary_sh:BAZEL_TARGET_test [k8-fastbuild]                         62ms
//js/private/test/js_binary_sh:BAZEL_WORKSPACE_test [k8-fastbuild]                      42ms
//js/private/test/js_binary_sh:JS_BINARY__BINDIR_test [k8-fastbuild]                    63ms
//js/private/test/js_binary_sh:JS_BINARY__BUILD_FILE_PATH_test [k8-fastbuild]           63ms
//js/private/test/js_binary_sh:JS_BINARY__TARGET_NAME_test [k8-fastbuild]               54ms
//js/private/test/js_binary_sh:JS_BINARY__TARGET_test [k8-fastbuild]                    62ms
//js/private/test/js_binary_sh:JS_BINARY__WORKSPACE_test [k8-fastbuild]                 56ms
//js/private/test/js_run_devserver:js_run_devserver_test [k8-fastbuild]                 144ms
//js/private/test/js_run_devserver:node_modules_symlink_to_execroot_test [k8-fastbuild] 392ms
//js/private/test/no_copy_to_bin:no_copy_to_bin_test [k8-fastbuild]                     114ms
//js/private/test/node-patches:escape_node18_test [k8-fastbuild]                        141ms
//js/private/test/node-patches:escape_node20_test [k8-fastbuild]                        81ms
//js/private/test/node-patches:escape_node22_test [k8-fastbuild]                        106ms
//js/private/test/node-patches:escape_node24_test [k8-fastbuild]                        61ms
//js/private/test/node-patches:lstat_node16_cjs_test [k8-fastbuild]                     175ms
//js/private/test/node-patches:lstat_node16_test [k8-fastbuild]                         204ms
//js/private/test/node-patches:lstat_node18_cjs_test [k8-fastbuild]                     158ms
//js/private/test/node-patches:lstat_node18_test [k8-fastbuild]                         224ms
//js/private/test/node-patches:lstat_node20_cjs_test [k8-fastbuild]                     169ms
//js/private/test/node-patches:lstat_node20_test [k8-fastbuild]                         99ms
//js/private/test/node-patches:lstat_node22_cjs_test [k8-fastbuild]                     254ms
//js/private/test/node-patches:lstat_node22_test [k8-fastbuild]                         209ms
//js/private/test/node-patches:lstat_node24_cjs_test [k8-fastbuild]                     205ms
//js/private/test/node-patches:opendir_node16_cjs_test [k8-fastbuild]                   475ms
//js/private/test/node-patches:opendir_node18_cjs_test [k8-fastbuild]                   247ms
//js/private/test/node-patches:opendir_node18_test [k8-fastbuild]                       189ms
//js/private/test/node-patches:opendir_node20_cjs_test [k8-fastbuild]                   213ms
//js/private/test/node-patches:opendir_node20_test [k8-fastbuild]                       122ms
//js/private/test/node-patches:opendir_node22_cjs_test [k8-fastbuild]                   186ms
//js/private/test/node-patches:opendir_node22_test [k8-fastbuild]                       163ms
//js/private/test/node-patches:opendir_node24_cjs_test [k8-fastbuild]                   186ms
//js/private/test/node-patches:opendir_node24_test [k8-fastbuild]                       110ms
//js/private/test/node-patches:readdir_node16_cjs_test [k8-fastbuild]                   209ms
//js/private/test/node-patches:readdir_node16_test [k8-fastbuild]                       187ms
//js/private/test/node-patches:readdir_node18_cjs_test [k8-fastbuild]                   162ms
//js/private/test/node-patches:readdir_node18_test [k8-fastbuild]                       120ms
//js/private/test/node-patches:readdir_node20_cjs_test [k8-fastbuild]                   146ms
//js/private/test/node-patches:readdir_node22_cjs_test [k8-fastbuild]                   125ms
//js/private/test/node-patches:readdir_node22_test [k8-fastbuild]                       206ms
//js/private/test/node-patches:readdir_node24_cjs_test [k8-fastbuild]                   138ms
//js/private/test/node-patches:readdir_node24_test [k8-fastbuild]                       106ms
//js/private/test/node-patches:readlink_node16_cjs_test [k8-fastbuild]                  155ms
//js/private/test/node-patches:readlink_node16_test [k8-fastbuild]                      197ms
//js/private/test/node-patches:readlink_node20_test [k8-fastbuild]                      235ms
//js/private/test/node-patches:readlink_node22_cjs_test [k8-fastbuild]                  122ms
//js/private/test/node-patches:readlink_node22_test [k8-fastbuild]                      339ms
//js/private/test/node-patches:readlink_node24_cjs_test [k8-fastbuild]                  168ms
//js/private/test/node-patches:readlink_node24_test [k8-fastbuild]                      104ms
//js/private/test/node-patches:realpath_node16_cjs_test [k8-fastbuild]                  137ms
//js/private/test/node-patches:realpath_node16_test [k8-fastbuild]                      168ms
//js/private/test/node-patches:realpath_node18_cjs_test [k8-fastbuild]                  196ms
//js/private/test/node-patches:realpath_node20_cjs_test [k8-fastbuild]                  148ms
//js/private/test/node-patches:realpath_node20_test [k8-fastbuild]                      255ms
//js/private/test/node-patches:realpath_node22_cjs_test [k8-fastbuild]                  141ms
//js/private/test/node-patches:realpath_node22_test [k8-fastbuild]                      140ms
//js/private/test/node-patches:realpath_node24_cjs_test [k8-fastbuild]                  143ms
//js/private/test/node-patches:realpath_node24_test [k8-fastbuild]                      226ms
//js/private/test/node-patches:spawn_test_node20 [k8-fastbuild]                         458ms
//js/private/test/node-patches:spawn_test_node24 [k8-fastbuild]                         584ms
//js/private/test:main_default_toolchain [k8-fastbuild]                                 102ms
//js/private/test:main_toolchain_18 [k8-fastbuild]                                      93ms
//js/private/test:main_toolchain_20 [k8-fastbuild]                                      190ms
//js/private/test:run_environment_info_tests_test_both_subject [k8-fastbuild]           126ms
//js/private/test:run_environment_info_tests_test_inherit_only_subject [k8-fastbuild]   96ms
//npm/private/test/npm_package_publish:test [k8-fastbuild]                              2s
//npm/private/test:__rollup-test [k8-fastbuild]                                         347ms
+ 23 other targets

Total test execution time was 25s. 134 tests (52.1%) were fully cached saving 9s.


Bazel 7 (Test)

e2e/bzlmod

2 test targets passed

Targets
//:jasmine_test [k8-fastbuild]                                                                          336ms
//:test [k8-fastbuild]                                                                                  180ms

Total test execution time was 516ms. 3 tests (60.0%) were fully cached saving 129ms.


Bazel 7 (Test)

e2e/git_dep_metadata

All tests were cache hits

1 test (100.0%) was fully cached saving 31ms.


Bazel 7 (Test)

e2e/gyp_no_install_script

1 test target passed

Targets
//:test [k8-fastbuild]                                                                                  127ms

Total test execution time was 127ms. 1 test (50.0%) was fully cached saving 86ms.


Bazel 7 (Test)

e2e/js_image_oci

1 test target passed

Targets
//src:image_test [k8-fastbuild]                                                                         7s

Bazel 7 (Test)

e2e/npm_link_package

1 test target passed

Targets
//src:test [k8-fastbuild]                                                                               147ms

Total test execution time was 147ms. 1 test (50.0%) was fully cached saving 52ms.


Bazel 7 (Test)

e2e/npm_link_package-esm

1 test target passed

Targets
//src:test [k8-fastbuild]                                                                               168ms

Total test execution time was 168ms. 1 test (50.0%) was fully cached saving 52ms.


Bazel 7 (Test)

e2e/npm_link_package-rerooted

1 test target passed

Targets
//root/src:test [k8-fastbuild]                                                                          148ms

Total test execution time was 148ms. 1 test (50.0%) was fully cached saving 42ms.


Bazel 7 (Test)

e2e/npm_translate_lock

2 test targets passed

Targets
//:test_dev_filtering [k8-fastbuild]                                                                    229ms
//:test_prod_filtering [k8-fastbuild]                                                                   720ms

Total test execution time was 949ms. 1 test (33.3%) was fully cached saving 55ms.


Bazel 7 (Test)

e2e/npm_translate_lock_disable_hooks

All tests were cache hits

3 tests (100.0%) were fully cached saving 257ms.


Bazel 7 (Test)

e2e/npm_translate_lock_empty

All tests were cache hits

2 tests (100.0%) were fully cached saving 180ms.


Bazel 7 (Test)

e2e/npm_translate_lock_exclude_package_contents

All tests were cache hits

1 test (100.0%) was fully cached saving 34ms.


Bazel 7 (Test)

e2e/npm_translate_lock_link_workspace

1 test target passed

Targets
//foo:test [k8-fastbuild]                                                                               112ms

Total test execution time was 112ms. 1 test (50.0%) was fully cached saving 56ms.


Bazel 7 (Test)

e2e/npm_translate_lock_multi

All tests were cache hits

2 tests (100.0%) were fully cached saving 164ms.


Bazel 7 (Test)

e2e/npm_translate_lock_partial_clone

All tests were cache hits

1 test (100.0%) was fully cached saving 61ms.


Bazel 7 (Test)

e2e/npm_translate_lock_replace_packages

2 test targets passed

Targets
//:test [k8-fastbuild]                                                                                  116ms
//:utils_test [k8-fastbuild]                                                                            116ms

Total test execution time was 232ms. 2 tests (50.0%) were fully cached saving 200ms.


Bazel 7 (Test)

e2e/npm_translate_lock_subdir_patch

1 test target passed

Targets
//subdir:test                                                                                           113ms

Bazel 7 (Test)

e2e/npm_translate_package_lock

All tests were cache hits

1 test (100.0%) was fully cached saving 31ms.


Bazel 7 (Test)

e2e/npm_translate_yarn_lock

All tests were cache hits

1 test (100.0%) was fully cached saving 31ms.


Bazel 7 (Test)

e2e/package_json_module

1 test target passed

Targets
//:test                                                                                                 489ms

Bazel 7 (Test)

e2e/patch_from_repo

All tests were cache hits

1 test (100.0%) was fully cached saving 31ms.


Bazel 7 (Test)

e2e/pnpm_lockfiles

11 test targets passed

Targets
//cases/versionless-patch-v9:versionless_patch_test [k8-fastbuild]                                      145ms
//v101:aliases-test [k8-fastbuild]                                                                      244ms
//v101:patch-test [k8-fastbuild]                                                                        194ms
//v54:aliases-test [k8-fastbuild]                                                                       147ms
//v54:patch-test [k8-fastbuild]                                                                         125ms
//v60:aliases-test [k8-fastbuild]                                                                       284ms
//v60:patch-test [k8-fastbuild]                                                                         178ms
//v61:aliases-test [k8-fastbuild]                                                                       197ms
//v61:patch-test [k8-fastbuild]                                                                         111ms
//v90:aliases-test [k8-fastbuild]                                                                       295ms
//v90:patch-test [k8-fastbuild]                                                                         121ms

Total test execution time was 2s. 66 tests (85.7%) were fully cached saving 7s.


Bazel 7 (Test)

e2e/pnpm_repo_install

1 test target passed

Targets
//:pnpm_install_test                                                                                    922ms

Bazel 7 (Test)

e2e/pnpm_version

1 test target passed

Targets
//:test                                                                                                 65ms

Bazel 7 (Test)

e2e/pnpm_workspace

6 test targets passed

Targets
//app/a:aspect_test_a_bin_test [k8-fastbuild]                                                           170ms
//app/a:test [k8-fastbuild]                                                                             600ms
//app/b:test [k8-fastbuild]                                                                             241ms
//app/c:aspect_test_a_bin_test [k8-fastbuild]                                                           180ms
//app/c:test [k8-fastbuild]                                                                             446ms
//app/d:test [k8-fastbuild]                                                                             395ms

Total test execution time was 2s. 9 tests (60.0%) were fully cached saving 1s.


Bazel 7 (Test)

e2e/pnpm_workspace_deps

3 test targets passed

Targets
//tests:direct [k8-fastbuild]                                                                           141ms
//tests:dupes [k8-fastbuild]                                                                            131ms
//tests:pkg [k8-fastbuild]                                                                              100ms

Bazel 7 (Test)

e2e/pnpm_workspace_rerooted

6 test targets passed

Targets
//app/a:aspect_test_a_bin_test [k8-fastbuild]                                                           688ms
//app/a:test [k8-fastbuild]                                                                             313ms
//app/b:test [k8-fastbuild]                                                                             285ms
//app/c:aspect_test_a_bin_test [k8-fastbuild]                                                           238ms
//app/c:test [k8-fastbuild]                                                                             687ms
//app/d:test [k8-fastbuild]                                                                             160ms

Total test execution time was 2s. 9 tests (60.0%) were fully cached saving 970ms.


Bazel 7 (Test)

e2e/repo_mapping

1 test target passed

Targets
//:test [k8-fastbuild]                                                                                  82ms

Total test execution time was 82ms. 2 tests (66.7%) were fully cached saving 310ms.


Bazel 7 (Test)

e2e/runfiles

1 test target passed

Targets
//:runfiles [k8-fastbuild]                                                                              74ms

Bazel 7 (Test)

e2e/stamped_package_json

All tests were cache hits

1 test (100.0%) was fully cached saving 44ms.


Bazel 7 (Test)

e2e/vendored_node

1 test target passed

Targets
//:test [k8-fastbuild]                                                                                  119ms

Bazel 7 (Test)

e2e/vendored_tarfile

All tests were cache hits

1 test (100.0%) was fully cached saving 31ms.


Bazel 7 (Test)

e2e/verify_patches

All tests were cache hits

2 tests (100.0%) were fully cached saving 109ms.


Bazel 7 (Test)

e2e/worker

All tests were cache hits

1 test (100.0%) was fully cached saving 35ms.


Bazel 7 (Test)

e2e/workspace

All tests were cache hits

1 test (100.0%) was fully cached saving 35ms.


Buildifier      Format

@chatgpt-codex-connector
Copy link

💡 Codex Review

readHopLink(maybe, function readNextHop(link) {
if (link === HOP_NOT_FOUND) {
return cb(false)

P1 Badge Preserve ENOENT when hop target missing

The change makes nextHop return false for HOP_NOT_FOUND, but the callers (e.g., fs.readlink and unguardedRealPath) still only treat undefined as the "missing hop" sentinel. When a symlink escapes the root and its target path doesn't exist, nextHop now passes false, so readlink falls through to the EINVAL branch instead of reporting ENOENT as before/Native Node does, and the unguarded realpath helpers treat the missing path as a normal hop. This silently changes error semantics for missing targets outside the sandbox.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@jbedard jbedard force-pushed the fs-strict branch 2 times, most recently from 54290fe to 52b1e62 Compare November 19, 2025 00:50
@jbedard
Copy link
Member Author

jbedard commented Nov 19, 2025

FWIW I did this because the incorrect types were confusing me in #2366

@jbedard jbedard enabled auto-merge (rebase) November 19, 2025 02:06
@jbedard jbedard disabled auto-merge November 19, 2025 02:06
@jbedard jbedard enabled auto-merge (squash) November 19, 2025 02:06
@jbedard jbedard disabled auto-merge November 19, 2025 03:14
@jbedard jbedard merged commit e10d6d0 into aspect-build:main Nov 19, 2025
423 of 431 checks passed
@jbedard jbedard deleted the fs-strict branch November 19, 2025 03:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants